From: Colin Walters Date: Wed, 12 Aug 2009 17:32:54 +0000 (-0400) Subject: Initialize ShellAppMonitor/ShellAppSystem at predicatable time X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~11091 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=d17c94f9b98a76b2ff4041e94c95f22da7ba8254;p=gnome-shell.git Initialize ShellAppMonitor/ShellAppSystem at predicatable time Currently ShellAppMonitor relies on all the .desktop files being loaded. We should initialize it very early to ensure that anything that uses it has up-to-date information right away. --- diff --git a/js/ui/main.js b/js/ui/main.js index b9e1c86c7..4bae93269 100644 --- a/js/ui/main.js +++ b/js/ui/main.js @@ -40,6 +40,16 @@ function start() { Tweener.init(); + // Ensure ShellAppMonitor is initialized; this will + // also initialize ShellAppSystem first. ShellAppSystem + // needs to load all the .desktop files, and ShellAppMonitor + // will use those to associate with windows. Right now + // the Monitor doesn't listen for installed app changes + // and recalculate application associations, so to avoid + // races for now we initialize it here. It's better to + // be predictable anyways. + Shell.AppMonitor.get_default(); + // The background color really only matters if there is no desktop // window (say, nautilus) running. We set it mostly so things look good // when we are running inside Xephyr. @@ -64,7 +74,7 @@ function start() { panel = new Panel.Panel(); sidebar = new Sidebar.Sidebar(); wm = new WindowManager.WindowManager(); - + global.screen.connect('toggle-recording', function() { if (recorder == null) { recorder = new Shell.Recorder({ stage: global.stage });